/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package estructurassa.utiles.convertidorDeUnidades;

import estructurassa.entidades.DetallePedidoAProveedores;
import estructurassa.entidades.DetalleProducto;
import estructurassa.entidades.Material;
import java.math.RoundingMode;
import java.text.NumberFormat;

/**
 *
 * @author Juan
 */
public class convertidorUnidades {

    public Float cantidadUnidadesMaterial(DetalleProducto detalle) {



        Float cantidadNecesaria = detalle.getCantidad();
        float cantidadUnidadesMaterial = 0;
        if (detalle.getPieza() instanceof Material) {//esto es porque solo los materiales van a fraccionarse
            if (!((Material) detalle.getPieza()).getUnidadMedida().equals("unidad")) { //si la unidad de medida NO es unidad, entonces se puede fraccionar
                Float tamañoMaterial = ((Material) detalle.getPieza()).getTamaño();
                cantidadUnidadesMaterial = Math.round(cantidadNecesaria / tamañoMaterial);
            }
        }

        NumberFormat numberFormat = NumberFormat.getInstance();

// trunca a dos digitos

        numberFormat.setMaximumFractionDigits(2);

// le decimos al NumberFormat que el redondeado sea mediante truncamiento.
        numberFormat.setRoundingMode(RoundingMode.DOWN);
        
        String s = numberFormat.format(Long.parseLong(String.valueOf(cantidadUnidadesMaterial)));
        
        return Float.valueOf(s);
    }

    public Float cantidadUnidadesMaterial(DetallePedidoAProveedores detalle) {



        Float cantidadNecesaria = detalle.getCantidad();
        float cantidadUnidadesMaterial = 0;

        if (!detalle.getMaterial().getUnidadMedida().equals("unidad")) { //si la unidad de medida NO es unidad, entonces se puede fraccionar
            Float tamañoMaterial = detalle.getMaterial().getTamaño();
            cantidadUnidadesMaterial = Math.round(cantidadNecesaria / tamañoMaterial);
        }


        return cantidadUnidadesMaterial;
    }
}
